package com.yuerlive.rainbow.api;

import com.yuerlive.rainbow.API;
import com.yuerlive.rainbow.entity.Banner;
import com.yuerlive.rainbow.entity.BaseData;
import com.yuerlive.rainbow.entity.LiveData;
import com.yuerlive.rainbow.entity.MyFansData;
import com.yuerlive.rainbow.entity.SignInfo;
import com.yuerlive.rainbow.entity.VersionInfo;
import com.yuerlive.rainbow.observer.Observerable;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by xiaoyi on 2017/5/23.
 */

public interface HomeService {
    @POST(API.HOTBANNER)
    Observable<BaseData<List<Banner>>> getHotBanner();

    @FormUrlEncoded
    @POST(API.HOTLIVE)
    Observable<BaseData<LiveData>> getHotLive(@FieldMap Map<String, String> params);

    @FormUrlEncoded
    @POST(API.SUBSCRIBELIVE)
    Observable<BaseData<LiveData>> getFollowed(@FieldMap Map<String, String> params);

    @POST(API.CHECK_VERSION)
    Observable<BaseData<VersionInfo>> checkVersion();

    @POST(API.SIGN_LIST)
    Observable<BaseData<SignInfo>> getSignData();

    @POST(API.SIGN_REQUEST)
    Observable<BaseData> signRequest();
}
